///PHILOTES Source Code.  (C)2012 PhiloLabs
#pragma once

#ifndef __Config_H_
#define __Config_H_

// Include the CMake-generated build settings.
// If you get complaints that this file is missing, then you're probably
// trying to link directly against your source dir. You must then add
// %BUILD_DIR%/include to your include search path to find OgreBuildSettings.h.
#include "OgreBuildSettings.h"


#ifndef OGRE_PROFILING
#define OGRE_PROFILING 0
#endif


#define OGRE_ASSERT_MODE 0


#define OGRE_PRETEND_TEXTURE_UNITS 0


#ifndef OGRE_DOUBLE_PRECISION
#define OGRE_DOUBLE_PRECISION 0
#endif


#define OGRE_MAX_TEXTURE_COORD_SETS 8


#define OGRE_MAX_TEXTURE_LAYERS 16


#define OGRE_MAX_SIMULTANEOUS_LIGHTS 8


#define OGRE_MAX_BLEND_WEIGHTS 4


//#define OGRE_STATIC_LIB


// define the memory allocator configuration to use
#define OGRE_MEMORY_ALLOCATOR_STD 1
#define OGRE_MEMORY_ALLOCATOR_NED 2
#define OGRE_MEMORY_ALLOCATOR_USER 3
#define OGRE_MEMORY_ALLOCATOR_NEDPOOLING 4

#ifndef OGRE_MEMORY_ALLOCATOR
#  define OGRE_MEMORY_ALLOCATOR OGRE_MEMORY_ALLOCATOR_NEDPOOLING
#endif

// Whether to use the custom memory allocator in STL containers
#ifndef OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR
#  define OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR 1
#endif

//if you want to make Ogre::String use the custom memory allocator then set:
//#define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 1
// Doing this will mean Ogre's strings will not be compatible with std::string however
#ifndef OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR
#	define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 0
#endif

// enable or disable the memory tracker, recording the memory allocations & tracking leaks
// default is to disable since it's expensive, but you can enable if needed per build target

#ifndef OGRE_MEMORY_TRACKER_DEBUG_MODE
#  define OGRE_MEMORY_TRACKER_DEBUG_MODE 0
#endif

#ifndef OGRE_MEMORY_TRACKER_RELEASE_MODE
#  define OGRE_MEMORY_TRACKER_RELEASE_MODE 0
#endif

#define OGRE_MAX_MULTIPLE_RENDER_TARGETS 8


#ifndef OGRE_THREAD_SUPPORT
#define OGRE_THREAD_SUPPORT 0
#endif
#if OGRE_THREAD_SUPPORT != 0 && OGRE_THREAD_SUPPORT != 1 && OGRE_THREAD_SUPPORT != 2
#define OGRE_THREAD_SUPPORT 0
#endif


#ifndef OGRE_THREAD_PROVIDER
#define OGRE_THREAD_PROVIDER 0
#endif


#ifndef OGRE_NO_FREEIMAGE
#define OGRE_NO_FREEIMAGE 0
#endif


#ifndef OGRE_NO_DEVIL
#define OGRE_NO_DEVIL 1
#endif


#ifndef OGRE_NO_DDS_CODEC
#define OGRE_NO_DDS_CODEC 0
#endif


#ifndef OGRE_NO_ZIP_ARCHIVE
#define OGRE_NO_ZIP_ARCHIVE 0
#endif


#ifndef OGRE_USE_NEW_COMPILERS
#define OGRE_USE_NEW_COMPILERS 1
#endif

#endif
